-
Notifications
You must be signed in to change notification settings - Fork 368
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
wanted: websocketpp #3045
Comments
Websocket in general is already available at https://registry.bazel.build/modules/websocketpp. However, it depends on https://registry.bazel.build/modules/asio/1.28.2 which uses some C++17 features. According to the readme, we could replace standalone asio with boost.asio. Question to the maintainers (@meteorcloudy since you approved the PRs). Should we create a completely new module such as |
The reason I touched asio was to bring mvukov/rules_ros2#238 forward. rules_ros2 needs asio in Workspace and I adapted the Bzlmod version to be compatible so the repo can use the same implementation for both modes. I've seen @keith use some neat tricks for Bzlmod curl to switch the TLS backend: bazel-central-registry/modules/curl/8.8.0/patches/add_build_file.patch Lines 302 to 305 in dee0784
Possibly you could do something similar for WebSocket++ to switch between Boost Asio and Standalone Asio. Cc also @wep21 who has contributed the most recent incarnation of Boost Bzlmods |
I came up with this first draft |
Closes #3045 --- Please note that with `boost.asio`, only Bazel 7.x is supported. With Bazel 6, I ran into [this error](https://buildkite.com/bazel/bcr-presubmit/builds/8436#0192dd4c-016a-4d23-8724-30cdc578f223): `Error computing the main repository mapping: in module dependency chain <root> -> websocketpp@0.8.2.bcr.2 -> boost.asio@1.83.0 -> boringssl@0.20240913.0 -> googletest@1.15.2: error executing MODULE.bazel file for googletest@1.15.2`. [The googletest version](https://github.com/bazelbuild/bazel-central-registry/blob/main/modules/googletest/1.15.2/presubmit.yml) only supports Bazel 7.x in CI, so I do the same.
Module location
https://github.com/zaphoyd/websocketpp
Link to bzlmod issue in the module's repository
No response
Any other context to provide?
WebSocket++ is a C++11 header-only library that supports various transport layers included Boost.Asio and stand-alone Asio. This needs to compile under C++11, but it appears that the bazel build is pulling the stand-alone Asio library and it contains C++17 features. If possible, I'd like a bazel module that allows the use of Boost::Asio instead of the stand-alone library.
Fund our work
The text was updated successfully, but these errors were encountered: