boost.asio@1.89.0 (#5794)
boost.asio@1.89.0
diff --git a/modules/boost.asio/1.89.0/MODULE.bazel b/modules/boost.asio/1.89.0/MODULE.bazel
new file mode 100644
index 0000000..98ded55
--- /dev/null
+++ b/modules/boost.asio/1.89.0/MODULE.bazel
@@ -0,0 +1,19 @@
+module(
+ name = "boost.asio",
+ version = "1.89.0",
+ bazel_compatibility = [">=7.6.0"],
+ compatibility_level = 108900,
+)
+
+bazel_dep(name = "bazel_skylib", version = "1.8.1")
+bazel_dep(name = "boost.align", version = "1.89.0")
+bazel_dep(name = "boost.assert", version = "1.89.0")
+bazel_dep(name = "boost.config", version = "1.89.0")
+bazel_dep(name = "boost.context", version = "1.89.0")
+bazel_dep(name = "boost.date_time", version = "1.89.0")
+bazel_dep(name = "boost.pin_version", version = "1.89.0")
+bazel_dep(name = "boost.system", version = "1.89.0")
+bazel_dep(name = "boost.throw_exception", version = "1.89.0")
+bazel_dep(name = "boringssl", version = "0.20250818.0")
+bazel_dep(name = "platforms", version = "1.0.0")
+bazel_dep(name = "rules_cc", version = "0.2.2")
diff --git a/modules/boost.asio/1.89.0/overlay/BUILD.bazel b/modules/boost.asio/1.89.0/overlay/BUILD.bazel
new file mode 100644
index 0000000..ed4f790
--- /dev/null
+++ b/modules/boost.asio/1.89.0/overlay/BUILD.bazel
@@ -0,0 +1,91 @@
+load("@bazel_skylib//rules:common_settings.bzl", "string_flag")
+load("@bazel_skylib//rules:write_file.bzl", "write_file")
+load("@rules_cc//cc:defs.bzl", "cc_library")
+
+string_flag(
+ name = "ssl",
+ build_setting_default = "no_ssl",
+ values = [
+ "no_ssl",
+ "openssl",
+ "boringssl",
+ ],
+ visibility = ["//visibility:public"],
+)
+
+config_setting(
+ name = "no_ssl",
+ flag_values = {":ssl": "no_ssl"},
+)
+
+config_setting(
+ name = "openssl",
+ flag_values = {":ssl": "openssl"},
+)
+
+config_setting(
+ name = "boringssl",
+ flag_values = {":ssl": "boringssl"},
+)
+
+write_file(
+ name = "src",
+ out = "boost.asio.src.cpp",
+ content = select({
+ ":no_ssl": [
+ "#include <boost/asio/impl/src.hpp>",
+ ],
+ "//conditions:default": [
+ "#include <boost/asio/impl/src.hpp>",
+ "#include <boost/asio/ssl/impl/src.hpp>",
+ ],
+ }),
+)
+
+cc_library(
+ name = "boost.asio",
+ srcs = [":src"] + select({
+ ":no_ssl": [
+ "include/boost/asio/impl/src.hpp",
+ ],
+ "//conditions:default": [
+ "include/boost/asio/impl/src.hpp",
+ "include/boost/asio/ssl/impl/src.hpp",
+ ],
+ }),
+ hdrs = glob(
+ [
+ "include/**/*.hpp",
+ "include/**/*.ipp",
+ ],
+ exclude = [
+ "include/boost/asio/impl/src.hpp",
+ "include/boost/asio/ssl/impl/src.hpp",
+ ],
+ ),
+ defines = ["BOOST_ASIO_SEPARATE_COMPILATION"],
+ includes = ["include"],
+ linkopts = select({
+ "@platforms//os:windows": [
+ "-DEFAULTLIB:ws2_32",
+ "-DEFAULTLIB:mswsock",
+ ],
+ "//conditions:default": [
+ "-lpthread",
+ ],
+ }),
+ visibility = ["//visibility:public"],
+ deps = [
+ "@boost.align",
+ "@boost.assert",
+ "@boost.config",
+ "@boost.context",
+ "@boost.date_time",
+ "@boost.system",
+ "@boost.throw_exception",
+ ] + select({
+ ":openssl": ["@openssl//:ssl"],
+ ":boringssl": ["@boringssl//:ssl"],
+ ":no_ssl": [],
+ }),
+)
diff --git a/modules/boost.asio/1.89.0/overlay/MODULE.bazel b/modules/boost.asio/1.89.0/overlay/MODULE.bazel
new file mode 120000
index 0000000..9b599e3
--- /dev/null
+++ b/modules/boost.asio/1.89.0/overlay/MODULE.bazel
@@ -0,0 +1 @@
+../MODULE.bazel
\ No newline at end of file
diff --git a/modules/boost.asio/1.89.0/overlay/test/BUILD.bazel b/modules/boost.asio/1.89.0/overlay/test/BUILD.bazel
new file mode 100644
index 0000000..2a5c62b
--- /dev/null
+++ b/modules/boost.asio/1.89.0/overlay/test/BUILD.bazel
@@ -0,0 +1,148 @@
+load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test")
+
+cc_library(
+ name = "unit_test",
+ hdrs = ["unit_test.hpp"],
+)
+
+_TESTS = {
+ "any_completion_executor": [],
+ "any_completion_handler": [],
+ "any_io_executor": [],
+ "append": [],
+ "as_tuple": [],
+ "associated_allocator": [],
+ "associated_cancellation_slot": [],
+ "associated_executor": [],
+ "associated_immediate_executor": [],
+ "associator": [],
+ "async_result": [],
+ "awaitable": [],
+ "basic_datagram_socket": [],
+ "basic_deadline_timer": [],
+ "basic_file": [],
+ "basic_random_access_file": [],
+ "basic_raw_socket": [],
+ "basic_readable_pipe": [],
+ "basic_seq_packet_socket": [],
+ "basic_serial_port": [],
+ "basic_signal_set": [],
+ "basic_socket": [],
+ "basic_socket_acceptor": [],
+ "basic_stream_file": [],
+ "basic_stream_socket": [],
+ "basic_streambuf": [],
+ "basic_waitable_timer": [],
+ "basic_writable_pipe": [],
+ "bind_allocator": [],
+ "bind_cancellation_slot": [],
+ "bind_executor": [],
+ "bind_immediate_executor": [],
+ "buffer": [],
+ "buffer_registration": [],
+ "buffered_read_stream": [
+ "//archetypes:async_result",
+ ],
+ "buffered_stream": [
+ "//archetypes:async_result",
+ ],
+ "buffered_write_stream": [
+ "//archetypes:async_result",
+ ],
+ "buffers_iterator": [],
+ "cancellation_signal": [],
+ "cancellation_state": [],
+ "cancellation_type": [],
+ "co_spawn": [],
+ "completion_condition": [],
+ "compose": [],
+ "connect": [],
+ "connect_pipe": [],
+ "consign": [],
+ "coroutine": [],
+ "deadline_timer": [
+ "//archetypes:async_result",
+ ],
+ "defer": [],
+ "deferred": [],
+ "detached": [],
+ "dispatch": [],
+ "error": [],
+ "execution_context": [],
+ "executor": [],
+ "executor_work_guard": [],
+ "file_base": [],
+ "high_resolution_timer": [],
+ "io_context": [],
+ "io_context_strand": [],
+ "is_read_buffered": [],
+ "is_write_buffered": [],
+ "packaged_task": [],
+ "placeholders": [],
+ "post": [],
+ "prepend": [],
+ "random_access_file": [
+ "//archetypes:async_result",
+ ],
+ "read": [
+ "//archetypes:async_result",
+ ],
+ "read_at": [
+ "//archetypes:async_result",
+ ],
+ "read_until": [
+ "//archetypes:async_result",
+ ],
+ "readable_pipe": [
+ "//archetypes:async_result",
+ ],
+ "recycling_allocator": [],
+ "redirect_error": [],
+ "registered_buffer": [],
+ "serial_port": [
+ "//archetypes:async_result",
+ ],
+ "serial_port_base": [],
+ "signal_set": [
+ "//archetypes:async_result",
+ ],
+ "signal_set_base": [],
+ "socket_base": [],
+ "static_thread_pool": [],
+ "steady_timer": [],
+ "strand": [],
+ "stream_file": [
+ "//archetypes:async_result",
+ ],
+ "streambuf": [],
+ "system_context": [],
+ "system_executor": [],
+ "system_timer": [],
+ "this_coro": [],
+ "thread_pool": [],
+ "time_traits": [],
+ "use_awaitable": [],
+ "use_future": [
+ "//archetypes:async_ops",
+ ],
+ "uses_executor": [],
+ "wait_traits": [],
+ "writable_pipe": [
+ "//archetypes:async_result",
+ ],
+ "write": [
+ "//archetypes:async_result",
+ ],
+ "write_at": [
+ "//archetypes:async_result",
+ ],
+}
+
+[cc_test(
+ name = test,
+ srcs = ["{}.cpp".format(test)],
+ deps = [
+ ":unit_test",
+ "@boost.asio",
+ ] + _TESTS[test],
+) for test in _TESTS]
diff --git a/modules/boost.asio/1.89.0/overlay/test/MODULE.bazel b/modules/boost.asio/1.89.0/overlay/test/MODULE.bazel
new file mode 100644
index 0000000..aa28a21
--- /dev/null
+++ b/modules/boost.asio/1.89.0/overlay/test/MODULE.bazel
@@ -0,0 +1,7 @@
+bazel_dep(name = "boost.asio")
+local_path_override(
+ module_name = "boost.asio",
+ path = "..",
+)
+
+bazel_dep(name = "rules_cc", version = "0.2.2")
diff --git a/modules/boost.asio/1.89.0/overlay/test/archetypes/BUILD.bazel b/modules/boost.asio/1.89.0/overlay/test/archetypes/BUILD.bazel
new file mode 100644
index 0000000..a61ffbd
--- /dev/null
+++ b/modules/boost.asio/1.89.0/overlay/test/archetypes/BUILD.bazel
@@ -0,0 +1,19 @@
+load("@rules_cc//cc:defs.bzl", "cc_library")
+
+package(default_visibility = ["//visibility:public"])
+
+cc_library(
+ name = "async_result",
+ hdrs = ["async_result.hpp"],
+ deps = [
+ "@boost.asio",
+ ],
+)
+
+cc_library(
+ name = "async_ops",
+ hdrs = ["async_ops.hpp"],
+ deps = [
+ "@boost.asio",
+ ],
+)
diff --git a/modules/boost.asio/1.89.0/presubmit.yml b/modules/boost.asio/1.89.0/presubmit.yml
new file mode 100644
index 0000000..1353a92
--- /dev/null
+++ b/modules/boost.asio/1.89.0/presubmit.yml
@@ -0,0 +1,44 @@
+matrix:
+ platform:
+ - debian10
+ - debian11
+ - macos
+ - macos_arm64
+ - ubuntu2004
+ - ubuntu2204
+ - ubuntu2404
+ - windows
+ bazel: [7.x, 8.x]
+tasks:
+ verify_targets:
+ name: Verify build targets
+ platform: ${{ platform }}
+ bazel: ${{ bazel }}
+ build_flags:
+ - '--process_headers_in_dependencies'
+ build_targets:
+ - '@boost.asio//:boost.asio'
+bcr_test_module:
+ module_path: test
+ matrix:
+ platform:
+ - debian10
+ - debian11
+ - macos
+ - macos_arm64
+ - ubuntu2004
+ - ubuntu2204
+ - ubuntu2404
+ - windows
+ bazel: [7.x, 8.x]
+ tasks:
+ run_test_module:
+ name: Run test module
+ platform: ${{ platform }}
+ bazel: ${{ bazel }}
+ build_flags:
+ - '--process_headers_in_dependencies'
+ build_targets:
+ - //...
+ test_targets:
+ - //...
diff --git a/modules/boost.asio/1.89.0/source.json b/modules/boost.asio/1.89.0/source.json
new file mode 100644
index 0000000..9267cdf
--- /dev/null
+++ b/modules/boost.asio/1.89.0/source.json
@@ -0,0 +1,13 @@
+{
+ "integrity": "sha256-M/Wb27xX8vglztz5Oxd64nTlwctZ5ehQwDml5e7Okiw=",
+ "strip_prefix": "asio-boost-1.89.0",
+ "url": "https://github.com/boostorg/asio/archive/refs/tags/boost-1.89.0.tar.gz",
+ "patch_strip": 0,
+ "overlay": {
+ "BUILD.bazel": "sha256-t2ojzIKONAukJcS47yVCeoPxWIsutEk/8Ih7XIuJmoE=",
+ "MODULE.bazel": "sha256-gsIjLUhMPUYycKJz068HMWxtfkegdQBW/F7V0hNmiaA=",
+ "test/BUILD.bazel": "sha256-8fcIeYXVWHay4eYnKwdrvdtlPAEtVEqqBlUKdwZcCDY=",
+ "test/MODULE.bazel": "sha256-ZStDySX84jzOYqhmx/l3m5YDkP9iwUiVLwqR/lh1QNo=",
+ "test/archetypes/BUILD.bazel": "sha256-d5MKVHwxKqaRPwR2x7feBKD6ovoOFZW9jzJSKwIRgdg="
+ }
+}
diff --git a/modules/boost.asio/metadata.json b/modules/boost.asio/metadata.json
index b098b6e..d00278a 100644
--- a/modules/boost.asio/metadata.json
+++ b/modules/boost.asio/metadata.json
@@ -23,7 +23,8 @@
"1.83.0.bcr.2",
"1.87.0",
"1.87.0.bcr.1",
- "1.88.0.bcr.1"
+ "1.88.0.bcr.1",
+ "1.89.0"
],
"yanked_versions": {}
}