roll: pigweed ea358b7..0449995 (100 commits)

0449995:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/269674 pw_bluetooth_sapphire: Replace BoringSSL uses in sm/util.cc
1124698:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271744 pw_bluetooth: Fix version extraction of vendor major and minor version
386297a:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/265636 pw_bluetooth_sapphire: Publicize the type and 32 bit version of the UUID
36d8028:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271745 pw_bluetooth: Fix Android vendor extensions APCF ApcfFeatureFilterLogic
77ad850:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/272796 pw_presubmit: Enable buildifier formatting in Bazel
d7bdeda:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/272794 pw_kernel: Move scheduler locks into a sub-module
b979d61:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/272773 pw_toolchain: ARM Cortex-M4f configs
323d1bf:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/272793 pw_kernel: Use mod_name.rs instead of mod_name/mod.rs
e319db3:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/232351 pw_metric: Use atomic operations
8d5512e:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/272575 pw_presubmit: Load formatting path exclusions
04dc1da:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/272692 pw_kernel: Support dyn types with ForeignBox
4249230:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271736 pw_ide: Add a clangd dashboard UI to help user find issues
018a807:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/264633 pw_ide: Add a button to dump logs and settings.json
bc5c177:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/264612 pw_ide: Add webview in sidebar to see extension report
d7be437:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/272512 pw_kernel: Remove unused WaitQueue::wake_thread method
52f1e7f:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/272593 pw_env_setup: Restrict visibility of py libraries
1a42475:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/272672 pw_allocator: Add source files to Android.bp targets
57db167:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271685 pw_kernel: Optimize SpinLocks
9f43335:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271812 pw_kernel: Add Mutex
eeed50e:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271753 pw_kernel: Make some scheduler variable names more descriptive
b6da978:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/272592 pw_env_setup: Fix docs headings
d058875:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/272073 third_party/smartfusion_mss: rm BUILD for-loops
dcaf004:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/272093 pw_containers: Mark :pw_containers deprecated
8ffdd15:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/272395 roll: gn
7dd375c:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/272393 roll: luci
8b96594:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/272392 roll: ninja
29cca8d:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/272372 roll: fuchsia-infra-bazel-rules 675bbe2..c87230d (21 commits)
1ba12f0:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/272272 pw_bluetooth_proxy: Fix Android.bp formatting
7eb794f:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/272192 pw_bluetooth_proxy: Add logging for gatt ctor/dtor
b56458d:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/272193 pw_bluetooth_proxy: Drain queues after gatt write(span)
b9cceca:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/272273 roll: cmake
3e26f94:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/272075 pw_fuzzer: Don't use //pw_containers:pw_containers
cd2584d:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271752 pw_kernel: Add WaitQueue
37931c6:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/272094 pw_bluetooth_sapphire: Fix crash in LowEnergyCentralServer
daf1fff:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/272092 .*: Don't depend on //pw_containers:pw_containers
3d59c24:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/272112 pw_containers: Add missing dependency
3a63bba:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/272074 targets/emcraft_sf2_som: rm target with no srcs
e109660:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271688 pw_bluetooth_proxy: Add IFTTT across build files
2134bf8:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271453 pw_bluetooth: Fixup IWYU pragmas
8f3a705:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271832 pw_bluetooth: Annotate the A2DP specification in the packets
f937c06:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271972 pw_allocator: Update Android.bp with managed_ptr.cc changes
0801998:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271687 pw_bluetooth_proxy: Add missing source to Android.bp
c39f223:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/265633 pw_bluetooth_sapphire: Fix advertising data in tests to be accurate
0632790:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/260224 pw_bluetooth_sapphire: Move DiscoveryFilter from gap to hci
bab55bb:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/260221 pw_bluetooth_sapphire: LowEnergyDiscoverySession tracks multiple filters
fb7c6e5:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271853 pw_sapphire_bluetooth: bt-host sets a memory profile
2c5e7fa:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271852 pw_allocator: Restore Deallocator::WrapUniqueArray
03d757d:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271681 pw_env_setup: Reorder args to cipd
30e3d13:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271435 pw_presubmit: Get black config from file's parents
796b62d:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271434 pw_cli: Add helpers for looking up config files
b599ed3:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271792 pw_assert: Mark :pw_assert deprecated
b4a0ee4:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271272 third_party/googletest: Add pw_third_party_googletest_ALIAS
2409b0e:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271374 pw_allocator: Uniformly apply trait checks to block unit tests
569484f:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271172 pw_kernel: Refactor scheduler to use ForeignBox/ForeignList
ec058ef:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/270853 pw_kernel: Add ForeignList
a16364a:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/270752 pw_kernel: Add ForeignBox type
0ccc12d:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/270832 pw_kernel: Move UnsafeList to deal exclusively with pointers
84eee29:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271373 pw_allocator: Reorganize block unit tests
fdb976b:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271153 pw_preprocessor: rm BUILD.bazel list comprehension
9814a13:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271372 pw_allocator: Simplify block unit test trait assetions
48cfde5:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271152 pw_malloc: Remove build file variables
8b4d2d5:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271473 pw_kernel: Add Cortex-M33 mps2-an505 QEMU platform
89e33bd:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/270413 .*: Replace pw_assert dependency
e3c7b6b:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271472 fuchsia_sdk: Replace fuchsia_sdk load statements with rules_fuchsia
d643928:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271592 pw_trace: Fix typo, add missing macro to doc
23b9953:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271353 pw_rpc: Add console RPC completions from modules
c75b4f3:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271452 pw_bluetooth_proxy: Deliver pending events for all controller events
0a1b485:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271412 pw_protobuf: Add missing finder definitions to codegen
fa5e5ed:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271173 pw_bluetooth_proxy: Call l2cap status tracker callbacks outside of lock
98b5712:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/270734 pw_allocator: Add ManagedPtr
bed66f8:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/270733 pw_allocator: Add array support to New and MakeUnique
aba9ff3:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271292 docs: Style guidance on loads from dev deps
c357ad6:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/270732 pw_allocator: Consolidate core build targets
a839dbf:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271093 pw_assert: Remove note in documentation
d9fb53c:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/269193 pw_bloat: Support source_filter in Bazel targets
7c323be:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271154 docs: Link to official Bazel Style Guide
8388d9e:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271132 pw_env_setup: Add debug info
454233c:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271112 third_party/googletest: Add missing header
14953c6:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271012 pw_build: Split out recommended .bazelrc flags
ef8e6ba:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/253272 pw_async: Enable BasicDispatcher::RunUntil to actually execute tasks
f60af3a:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/271013 pw_unit_test: Add missing dependency
ff8f31a:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/270812 pw_intrusive_ptr: Remove ref_counted.h from intrusive_ptr.h
818a872:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/269392 pw_bluetooth_sapphire: Create ActivityGovernorLeaseProvider
d1402fd:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/269312 pw_bluetooth_sapphire: Create Lease API
420e39b:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/270412 pw_kernel: Add conditional log_if macros
474f5e4:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/263934 pw_bluetooth_proxy: Use pw::span_cast
4c87468:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/270833 roll: Clang
cca9290:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/270914 pw_bluetooth_proxy: Add a common WriteLocked on L2capChannel
e83026f:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/270913 docs: Connect upstream guide to contributing
c53611c:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/270912 pw_string: Add missing dependency
9c7b530:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/270418 pw_bluetooth_proxy: Hold channels lock while using L2capChannel
56fe85e:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/267952 pw_uart_mcuxpresso: Implement FlushOutput for dma_uart_nonblocking
5eec1e4:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/270834 pw_json: Add missing dependency
f0082a3:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/269755 pw_bluetooth_proxy: Allow accessing gatt channel attribute handle
76e4c2b:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/270852 pw_bluetooth_sapphire: Set role for bt-host main thread
98c880b:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/270753 pw_spi_mcuxpresso: responder: Use span_cast
978718e:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/269673 pw_bluetooth_sapphire: Set BoringSSL as AES backend
4014763:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/269672 pw_crypto: Ignore zero-size update in Cmac
61106fd:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/268172 pw_presubmit: Use runfiles manager for pigweed_format
66f0d06:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/269612 bazel: Check directory sources for changes

Rolled-Repo: https://pigweed.googlesource.com/pigweed/pigweed
Rolled-Commits: ea358b710d56bf..0449995468dd67
Roll-Count: 1
Roller-URL: https://cr-buildbucket.appspot.com/build/8721201682559830033
GitWatcher: ignore
CQ-Do-Not-Cancel-Tryjobs: true
Change-Id: I2a57b7424cba3c03424989f56b0ae78c1224c53c
Reviewed-on: https://pigweed-review.googlesource.com/c/zephyr/zephyr-bazel/+/273026
Commit-Queue: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
Lint: Lint 🤖 <android-build-ayeaye@system.gserviceaccount.com>
Bot-Commit: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
2 files changed
tree: bd6bb76d77ac9d26ac4358a1b8ef05810450738a
  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 //...