roll: pigweed 55d135f..78d34f8 (21 commits)

78d34f8:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/293212 pw_bluetooth_sapphire: Add leases subnode to lease_provider Inspect node
3c290e7:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/293254 targets/stm32f429i*: Update platform name
4ced4a3:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/293473 pw_bluetooth: Ensure proper ordering when generating emboss headers
ad3dbb9:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/293233 pw_build_android: Add more target support
654e456:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/289515 zephyr: Migrate to new test framework
b09da2b:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/292458 pw_bluetooth_proxy: Delete unused includes
15349ff:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/293395 pw_rpc_transport: Correct simple_framing_test std::equal() checks
b102538:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/293394 pw_rpc_transport: Use ByteBuffer to access SimpleRpcPacketEncoder header
ebc860c:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/293393 pw_rpc_transport: Correct SimpleRpcPacketEncoder kMaxPacketSize check
72ed9eb:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/293392 pw_rpc_transport: Add kMaxEncodedPacketSize to SimpleRpcPacketEncoder
6646eb1:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/292972 pw_rpc_transport: Add BaseRpcEgress
d3f422a:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/293492 pw_bluetooth_sapphire: Initialize logger
dee4878:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/289514 pw_i2c_zephyr: Add Zephyr backend for i2c
bc15bc2:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/292461 pw_bluetooth_proxy: Move event_fn to ChannelProxy
bb2347b:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/292457 pw_bluetooth_proxy: Introduce ChannelProxy and related classes
db5c5ff:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/292833 pw_bluetooth_proxy: Refactor client channel tests into their own file
fa9e18c:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/292456 pw_bluetooth_proxy: Group l2cap variable declarations
121a101:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/292796 pw_bluetooth_sapphire: Add queued/pending commands to Inspect
7080af1:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/289513 zephyr: Begin using latest Zephyr testing
a9084c8:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/290372 pw_toolchain: Use correct soft-float toolchain prebuilt for riscv32
71b1d58:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/293472 pw_env_setup: Add make from CIPD

Rolled-Repo: https://pigweed.googlesource.com/pigweed/pigweed
Rolled-Commits: 55d135fa01e365..78d34f8d31eb8c
Roll-Count: 1
Roller-URL: https://cr-buildbucket.appspot.com/build/8714203084324835521
GitWatcher: ignore
CQ-Do-Not-Cancel-Tryjobs: true
Change-Id: I5a4fc1cac6f9ff374412267637c3a988391e352c
Reviewed-on: https://pigweed-review.googlesource.com/c/zephyr/zephyr-bazel/+/293447
Lint: Lint 🤖 <android-build-ayeaye@system.gserviceaccount.com>
Bot-Commit: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
2 files changed
tree: 8ba6a19816064e376e2dd4c32d29a39172fda954
  1. .vscode/
  2. arch/
  3. boards/
  4. drivers/
  5. dts/
  6. examples/
  7. include/
  8. kernel/
  9. lib/
  10. modules/
  11. scripts/
  12. soc/
  13. subsys/
  14. AUTHORS
  15. BUILD.bazel
  16. cc.bzl
  17. CONTRIBUTING.md
  18. defs.bzl
  19. generate_diff.py
  20. LICENSE
  21. MODULE.bazel
  22. MODULE.bazel.lock
  23. OWNERS
  24. README.md
  25. setup.bzl
  26. WORKSPACE
README.md

Zephyr-Bazel

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()

Application

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",
        ],
    }),
)

Examples

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 //...